﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demo1
{
    class Program
    {
        static void Main(string[] args)
        {
            //1、写一个工具类StringUtil，在里面定义一个静态方法，用来判断字符串是否为空。
            //如果字符串是 null ，或者字符串是空 ""，或者字符串是N个空格 "  " ，那这个方法返回true，否则返回false
            //然后在主类中（有Main方法的类）调用测试。

            string str1 = "     ";
            string str2 = "";
            string str3 = null;
            string str4 = "1";
            Console.WriteLine(StringUtil.IsNull(str1));
            Console.WriteLine(StringUtil.IsNull(str2));
            Console.WriteLine(StringUtil.IsNull(str3));
            Console.WriteLine(StringUtil.IsNull(str4));

            //2、写一个工具类ArrayUtil，在里面定义一个静态方法，用来判断数组是否为空。
            //如果数组是 null，或者数组长度为 0，那此方法返回 true，否则返回false
            //然后在主类中（有Main方法的类）调用测试。


            int[] arr1 = { };
            int[] arr2 = { 1,2, 3 };
            
            string[][] arr3 = { };
            string[,] arr4 = { { "1", "2" }, { "3", "4" } }; 
            
            string[][] arr5 = new string[5][];
            int[] arr6 = new int[5];
            Console.WriteLine(ArrayUtil.IsNull(arr1));
            Console.WriteLine(ArrayUtil.IsNull(arr2));
            Console.WriteLine(ArrayUtil.IsNull(arr3));
            Console.WriteLine(ArrayUtil.IsNull(arr4));
            Console.WriteLine(ArrayUtil.IsNull(arr5));
            Console.WriteLine(ArrayUtil.IsNull(arr6));
        }
        static class StringUtil
        {
            public static bool IsNull(string value)
            {
                return value == null ? true : value.Trim().Length == 0 ? true : false;
            }
        }
        class ArrayUtil
        {
            public static bool IsNull(object array)
            {
                Array arr = array as Array;
                return array == null ? true : arr.Length == 0 ? true : false;
            }
        }
    }
}
